#include <iostream>
#include <cstring>

#include "mp3.h"

using namespace std;

Musica iniciarReproductor(int numAlbumes, int numCancionesPorAlbum)
{
    Musica mp3;
    mp3.numAlbumes=numAlbumes;
    mp3.numCancionesPorAlbum=numCancionesPorAlbum;
    mp3.albumes=new Album[numAlbumes];
    mp3.canciones=new Cancion[numAlbumes*numCancionesPorAlbum];
    return mp3;
}

Cancion * canciones(int codigoAlbum, Musica mp3)
{
    //Dado que todos los albumes tienen la misma cantidad de canciones creamos 
    //un arreglo con la cantidad de posiciones requeridas
    Cancion * cancionesAlbum=new Cancion[mp3.numCancionesPorAlbum];
    int numPista=0;
    int totalCanciones=mp3.numCancionesPorAlbum*mp3.numAlbumes;
    for (int i=0; i<totalCanciones; i++)
    {
        if (mp3.canciones[i].codigoAlbum==codigoAlbum)
        {
            cancionesAlbum[numPista].codigo=mp3.canciones[i].codigo;
            cancionesAlbum[numPista].codigoAlbum=mp3.canciones[i].codigoAlbum;
            cancionesAlbum[numPista].duracion=mp3.canciones[i].duracion;
            strcpy(cancionesAlbum[numPista].nombre,mp3.canciones[i].nombre);
            numPista++;
        }
    }
    return cancionesAlbum;
}

void destruirReproductor(Musica mp3)
{
     delete [] mp3.albumes;
     delete [] mp3.canciones;
}

void imprimir(Album * album)
{
     cout<<album->codigo<<" : "<<album->nombre
         <<','<<album->agno<<endl;
     cout<<album->interprete<<endl;
}

void imprimir(Cancion * cancion)
{
     cout<<'\t'<<cancion->codigo<<" : "<<cancion->nombre
         <<'\t'<<"Duracion: "<<cancion->duracion
         <<'\t'<<"Album: "<<cancion->codigoAlbum<<endl;
}
